package nodos;

import javax.swing.tree.DefaultMutableTreeNode;

import mundo.SimboloLexico;


public class NodoExpresionAritmetica extends Nodo{
	private Nodo operando;
	private SimboloLexico operadorAritmetico;
	private Nodo expresionAritmetica;


	public NodoExpresionAritmetica(Nodo operando,
			SimboloLexico operadorAritmetico, Nodo expresionAritmetica) {
		this.operando = operando;
		this.operadorAritmetico = operadorAritmetico;
		this.expresionAritmetica = expresionAritmetica;
	}


	@Override
	public DefaultMutableTreeNode getSubArbolVisual() {
		DefaultMutableTreeNode raiz= new DefaultMutableTreeNode("Expresion Aritmetica");
		raiz.add(operando.getSubArbolVisual());
		if (operadorAritmetico!=null)
			raiz.add(new DefaultMutableTreeNode(operadorAritmetico.getLexema()));
		if (expresionAritmetica!=null)
			raiz.add(expresionAritmetica.getSubArbolVisual());
		return raiz;
	}

	@Override
	public String traducir(int profundidad) {
		String codJava=operando.traducir(profundidad);
		if(operadorAritmetico!=null)
			codJava+=operadorAritmetico.traducirSimbolo();
		if(expresionAritmetica!=null)
			codJava+=expresionAritmetica.traducir(profundidad);
		return codJava;
	}

}
